1. Field of the Invention
The present invention relates to a demodulation apparatus for demodulating a predetermined high frequency signal and a signal receiving apparatus to which the demodulation apparatus is applied, which is capable of calculating the apparatus own position and speed upon receiving signals from a so-called GNSS (Global Navigation Satellites System).
2. Description of the Related Art
In recent years, a GNSS system has become increasingly popular for measuring position of a moving object on the surface of Earth by using artificial satellites. Examples of the GNSS system include the Global Positioning System (referred to as GPS system below). In the GPS system, a GPS receiver for receiving signals from the GPS satellites has basic functions of receiving signals from at least four GPS satellites and calculating the position of the GPS receiver based on the receiving signals before reporting to the user.
More specifically, the GPS receiver acquires orbit information of each GPS satellite by demodulating the signals received from such satellites and calculates simultaneous equations to determine the three dimensional position of such GPS satellite based on the orbit and time information of each GPS satellite and the delay time of the receiving signals. It is to be noted that the reason why at least four GPS satellites are needed for obtaining the receiving signals in the GPS system is because there is a time error between the internal time of the clock equipped with the GPS receiver and an atomic clock with which the GPS satellites are equipped. As a result, pseudo-distances from at least four GPS satellites are required in order to calculate the four unknown parameters of three dimensional positions and accurate time by eliminating the influence of such errors.
In case of using a consumer purpose GPS receiver in the GPS system, position measurement calculations are performed by receiving from the GPS satellites (Navistar) an L1 band, spread spectrum signal commonly known as a C/A (Clear and Acquisition code.
In the transmission signal known as the L1 band, C/A code has a transmission signal rate, i.e., a chip rate of 1.023 MHz and is modulated based on a binary phase shift keying modulation system (referred to as BPSK modulation system below) in which a 1575.42 MHz carrier wave is modulated by a 500 bps data directly spread by a pseudo-random noise (PN) family spreading code, e.g., Gold code and the like having 1023 code length. Since the code length is 1023 in this case, the C/A code repeats the spread code of 1023 chips as a period, i.e., 1 period=1 millisecond as shown at the top column in FIG. 14.
The spread code in form of the C/A code is different for each GPS satellite. However, the spread codes to be used by respective GPS satellites are predetermined so that the GPS receiver can identify one from another. Also, the GPS receiver is designed to recognize when and where the signals from the respective GPS satellites can be received based on the navigation message which will be described hereinafter. As a result, if, e.g., a three dimensional position measurement system is utilized, the GPS receiver receives radio waves from at least four GPS satellites receivable at any instance and performs spectrum reverse spreading and position measurement operations, thereby calculating the own position.
In addition, 1 bit of signal data from each GPS satellite is transmitted at every 20 periods of the spread code, i.e., 20 milliseconds as shown at the second column in FIG. 14. This means that the data transmission rate is 50 bps as mentioned above. Moreover, 1023 chips which are equal to one period of the spread code are inverted to each other when the bit is “1” or “0”.
Furthermore, 30 bits, i.e., 600 milliseconds of the signal from each GPS satellite constitutes a word as shown at the third column in FIG. 14. 10 words, i.e., 6 seconds of the signal from the GPS satellite constitute a 1 sub-frame as shown at the fourth column in FIG. 14. As shown at the fifth column in FIG. 14, inserted into the signal from each GPS satellite at the top of one sub-frame is a preamble so that a predetermined bit pattern is always included even if the data is renewed. The data is transmitted subsequent to such preamble.
Finally, 5 sub-frames, i.e., 30 seconds of the signal from each GPS satellite constitute a frame. And transmitted from each GPS satellite are the above mentioned navigation messages in the data unit of 1 frame.
The first 3 sub-frames in a frame data are known as Ephemeris information which is peculiar to the respective GPS satellites. Contained in the Ephemeris information are parameters for determining the orbit of each GPS satellite and the time when the signal is sent from the GPS satellite.
All GPS satellites are provided with common time information by utilizing an atomic clock. The time of sending the signal from the GPS satellite contained in Ephemeris information is in the unit of 1 second of such atomic clock. It is to be noted that the spread code of the GPS satellite is generated in synchronism with the atomic clock.
Orbit information contained in Ephemeris information is renewed at every several hours and the same information is used until it is renewed. For this end, each GPS satellite has a memory to hold such orbit information contained in Ephemeris information, thereby making it possible to accurately use the same orbit information for several hours. It is to be noted, however, that the time of sending the signal from each GPS satellite is renewed at every 6 seconds as TOW (Time of Week) information.
On the other hand, the navigation message in the remaining 2 sub-frames in 1 frame data is known as Almanac information which is commonly sent out from all GPS satellites. Such Almanac information requires 25 frames in order to acquire complete information and includes such information as approximate position information of each GPS satellite and availability of the GPS satellites. Such Almanac information is renewed at every several days and the same information is used until it is renewed. As a result, the GPS receiver saves such Almanac information in a memory for accurately using the same information for several days. However, it is to be noted that the GPS satellite may use the same Almanac information over several months with slightly lower accuracy.
In order to obtain the above mentioned data by receiving the signal from the GPS satellite, the GPS receiver first eliminates the carrier and uses the same spread code as the C/A code used in the GPS satellite that the GPS receiver is going to receive for phase synchronizing of the C/A code in the signal from the GPS satellite, thereby capturing the signal from the GPS satellite and performing the spectrum reverse spreading. Upon performing the spectrum reverse spreading by synchronizing in phase with the C/A code, the GPS receiver detects bits, thereby enabling to acquire the navigation message containing time information based on the signal from the GPS satellite.
The GPS receiver captures the signal from the GPS satellite by performing the phase synchronization search of the C/A code. For the phase synchronization search, the GPS receiver detects correlation between the spread code generated by the GPS receiver itself and the spread code of the signal received from the GPS satellite. For example, if the correlation value as the result of the correlation detection is larger than a predetermined value, the both are determined to be synchronized. On the other hand, if determined that synchronization is not established, the GPS receiver controls the phase of the spread signal that the GPS receiver generates by any synchronization means so as to synchronize with the spread code of the receiving signal.
It is to be noted that, as described hereinabove, the signal from the GPS satellite is a carrier modulated by a signal of the data being spread by the spread code based on the BPSK modulation system. As a result, in order for the GPS receiver to receive the signal from the GPS satellite, it is necessary to synchronize not only the spread signal but also to synchronize the carrier and the data. However, synchronization of the spread signal and the carrier cannot be performed independently.
Also, the GPS receiver in general converts the receiving signal into an intermediate frequency (referred to as IF below) signal by converting the carrier frequency of the receiving signal into several MHz or lower IF frequency. The above mentioned synchronization detection processing is performed on the IF signal. Contained in the carrier of the IF signal (referred to as IF carrier below) are primarily a frequency error component due to Doppler shift in accordance with the traveling speed of the GPS satellite and a frequency error component of a local oscillator generated inside the GPS receiver in case of converting the receiving signal into the IF signal.
Because the IF carrier frequency is unknown due to these frequency error factors, it is necessary to conduct a search for the frequency in the GPS receiver. Also, since the synchronized point (synchronized phase) within 1 period of the spread code is unknown due to dependence to the positional relationship between the GPS receiver and the GPS satellite, any kind of synchronization technique is required in the GPS receiver as described hereinabove.
Employed synchronization technique in a conventional GPS receiver is a combination of a frequency search on the carrier, a synchronization capture by a sliding correlator, a DLL (Delay Locked Loop) and a synchronization hold by a Costas loop. Now, this synchronization technique will be described hereunder.
A clock for driving the spread code generator in the GPS receiver in general uses a reference frequency generator provided in the GPS receiver after proper dividing. What is used as the reference frequency generator is a high precision crystal oscillator. Based on the output from the reference frequency generator, the GPS receiver generates the local oscillation signal to be used for converting the receiving signal from the GPS receiver into the IF signal.
Now, FIG. 15 shows processing in the frequency search. The GPS receiver conducts the phase synchronization search on the spread code when the clock signal frequency for driving the spread code generator is f1. In other words, the GPS receiver sequentially shifts the phase of the spread code by 1 chip and detects correlation between the spread code and the receiving signal from the GPS satellite in each chip phase, thereby detecting the synchronizing phase by detecting the peak of correlation. Also, if the GPS receiver could not find synchronized phase in any phase search for the entire 1023 chips in a clock signal frequency f1, e.g., the dividing ratio for the reference frequency oscillator is changed to obtain another clock signal frequency f2, and the phase search is similarly performed for 1023 chips. The GPS receiver achieves the frequency search by repeating the above operations while changing the clock signal frequency in a step manner.
When the GPS receiver detects the clock signal frequency that can be synchronized after conducting such frequency search, the final phase synchronization of the spread code will be carried out at the clock signal frequency. Consequently, the GPS receiver can capture the signal from the GPS satellite even if the oscillation frequency of the crystal oscillator is shifted.
However, such conventional synchronization technique is not suitable in principle for high frequency synchronization. In the GPS receiver, a response will be delayed if it takes considerable time for synchronization of the spread code and the IF carrier, thereby causing inconvenience in actual use. In order to improve such disadvantage, the actual GPS receiver performs parallel processing using a plurality of channels, thereby reducing the time required for establishing synchronization.
On the other hand, techniques for establishing synchronization of the spread spectrum signal at a high speed instead of using the above described technique by sliding correlation include the use of a matched filter. The matched filter can be realized digitally by the use of a so-called transversal filter. Also, the matched filter can realize synchronization of the spread code at a high speed by utilizing the fast Fourier transformation (referred to as FFT below) as a result of improved hardware performance in recent years. The latter is based on the well known high speed correlation calculation technique.
Using such matched filters, if there is a certain correlation, the GPS receiver can detect the peak of correlation, e.g., as shown in FIG. 16 which shows 1 period of the output waveform. The position of the peak indicates the head of the spread code. By detecting the peak, the GPS receiver can establish synchronization, i.e., detect the phase of the spread code in the receiving signal. Also, the GPS receiver uses the digital matched filter utilizing, e.g., the above mentioned FFT to perform operation in the frequency range of the FFT, thereby detecting the phase of the spread code as well as the IF carrier frequency. Then, the GPS receiver converts the phase of the spread code into the pseudo-distance, thereby calculating the position of the GPS receiver in case of detecting at least four GPS satellites. Also, the GPS receiver can calculates the speed of the GPS receiver based on the IF carrier frequency.